جزوه · فصل هشتم · جلسه ۷۵ · پیکربندی شبکه ← بازگشت به فهرست
📘 فصل هشتم · جلسه ۷۵ پیکربندی شبکه (Network Configuration)
📅 تاریخ: یکشنبه، ۱ شهریور ۱۴۰۵ 👤 مدرس: محمد عابدینی 🐚 Zsh · 🐧 Debian (کالی) · 📦 Red Hat
این جلسه یکی از مهم‌ترین مباحث عملی در LPIC و RHCSA است. محل فایل‌های پیکربندی، نحوه تنظیم IP، Gateway، DNS و ابزارهای nmtui و nmcli حتماً در آزمون می‌آیند.
🌐 قبل از شروع، یه مثال ساده:

فرض کن یه ساختمان جدید داری و می‌خوای بهش یه آدرس پستی بدی (IP)، مشخص کنی کدوم در ورودی اصلیه (Gateway)، و تعیین کنی که توی کدوم محله قرار داره (Netmask). توی لینوکس، این تنظیمات رو توی فایل‌های پیکربندی ذخیره می‌کنی. این جلسه بهت یاد میده چطور این کار رو انجام بدی و از ابزارهای مختلف مثل nmtui و nmcli استفاده کنی.

▍ محل فایل‌های پیکربندی شبکه

محل ذخیره فایل‌های پیکربندی شبکه در توزیع‌های مختلف لینوکس متفاوت است:

توزیع محل فایل پیکربندی
دبیان و مشتقات (Debian, Ubuntu, Kali) /etc/network/interfaces
رد هت و مشتقات (RHEL, CentOS, AlmaLinux) /etc/sysconfig/network-scripts/ifcfg-*
openSUSE /etc/sysconfig/network
نکته امتحانی: در دبیان از /etc/network/interfaces و در رد هت از /etc/sysconfig/network-scripts/ifcfg-* استفاده می‌شود.

▍ تنظیمات شبکه در دبیان (Debian)

در دبیان و مشتقات، فایل اصلی پیکربندی شبکه /etc/network/interfaces است. در این فایل می‌توانید تنظیمات استاتیک یا DHCP را اعمال کنید.

• تنظیم IP استاتیک (Static IP)

auto eth0 iface eth0 inet static address 192.168.1.77 netmask 255.255.255.0 gateway 192.168.1.254 iface eth0 inet6 static address 2003:ae0::23d1::0a10:00a1 netmask 64 gateway 2003:ae0::23d1::0a10:0001

• تنظیم DHCP (آی‌پی خودکار)

auto eth0 iface eth0 inet dhcp iface eth0 inet6 dhcp
در دبیان، از auto برای فعال‌سازی خودکار رابط شبکه و از iface برای تعریف تنظیمات استفاده می‌شود.

▍ تنظیمات شبکه در رد هت (Red Hat)

در رد هت و مشتقات، فایل‌های پیکربندی در دایرکتوری /etc/sysconfig/network-scripts/ با نام ifcfg- به همراه نام دستگاه شبکه (مثل ifcfg-enp0s3) قرار دارند.

TYPE="Ethernet" BOOTPROTO="dhcp" NAME="enp0s3" DEVICE="enp0s3" ONBOOT="yes" # تنظیمات استاتیک IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4
پارامترهای مهم در رد هت: BOOTPROTO (dhcp یا static)، ONBOOT (فعال در بوت)، IPADDR، NETMASK، GATEWAY، DNS1.

▍ تنظیمات DNS

در گذشته، تنظیمات DNS در فایل /etc/resolv.conf ذخیره می‌شد. امروزه، در بسیاری از توزیع‌ها از systemd-resolved برای مدیریت DNS استفاده می‌شود.

┌──(ya3in㉿kali)-[~] └─$ cat /etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver 1.1.1.1
⚠️ توجه:

در سیستم‌های با systemd-resolved، فایل /etc/resolv.conf معمولاً یک لینک سمبلیک به /run/systemd/resolve/stub-resolv.conf است. برای تغییر دائمی DNS، از systemd-resolved یا تنظیمات NetworkManager استفاده کنید.

▍ مدیریت شبکه با nmtui

nmtui (NetworkManager Text User Interface) یک ابزار گرافیکی مبتنی بر متن برای مدیریت NetworkManager است. این ابزار به شما اجازه می‌دهد بدون نیاز به ویرایش دستی فایل‌ها، تنظیمات شبکه را تغییر دهید.

┌──(ya3in㉿kali)-[~] └─$ nmtui

• گزینه‌های اصلی در nmtui

گزینه توضیح
Edit a connection ویرایش اتصالات موجود (شامل تنظیم IP، Gateway، DNS و ...)
Activate a connection فعال یا غیرفعال کردن یک اتصال
Set system hostname تنظیم نام میزبان (Hostname) سیستم

• مراحل تنظیم IP استاتیک با nmtui

🔹 مرحله ۱: اجرای nmtui

دستور nmtui را اجرا کنید.

┌──(ya3in㉿kali)-[~] └─$ nmtui

🔹 مرحله ۲: انتخاب Edit a connection

با کلیدهای جهت‌نما به Edit a connection بروید و Enter را بزنید.

🔹 مرحله ۳: انتخاب اتصال مورد نظر

اتصال مورد نظر (مثلاً eth0 یا enp0s3) را انتخاب کنید و Enter را بزنید.

🔹 مرحله ۴: تنظیم IPv4

  • IPv4 CONFIGURATION: را به Manual تغییر دهید.
  • Addresses: آدرس IP و Netmask را وارد کنید (مثل 192.168.1.100/24).
  • Gateway: آدرس گیت‌وی را وارد کنید (مثل 192.168.1.1).
  • DNS Servers: آدرس DNS را وارد کنید (مثل 8.8.8.8, 8.8.4.4).

🔹 مرحله ۵: ذخیره و خروج

با کلید Tab به دکمه OK بروید و Enter را بزنید. سپس Back را انتخاب کنید و از nmtui خارج شوید.

🔹 مرحله ۶: اعمال تغییرات

┌──(ya3in㉿kali)-[~] └─$ sudo systemctl restart NetworkManager

توضیح: برای اعمال تغییرات، سرویس NetworkManager را مجدداً راه‌اندازی کنید.

برای راه‌اندازی مجدد NetworkManager از sudo systemctl restart NetworkManager استفاده کنید.

▍ مدیریت شبکه با nmcli

nmcli (NetworkManager Command Line Interface) یک ابزار خط فرمان قدرتمند برای مدیریت NetworkManager است. با استفاده از nmcli می‌توانید تمام کارهایی که با nmtui انجام می‌دهید را از طریق ترمینال انجام دهید.

• نمایش وضعیت شبکه

┌──(ya3in㉿kali)-[~] └─$ nmcli general status STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN connected full enabled enabled enabled enabled

توضیح: نمایش وضعیت کلی NetworkManager.

┌──(ya3in㉿kali)-[~] └─$ nmcli device status DEVICE TYPE STATE CONNECTION wlan0 wifi connected MyNetwork eth0 ethernet connected eth0 lo loopback unmanaged --

توضیح: نمایش وضعیت دستگاه‌های شبکه (فعال، غیرفعال، قطع).

• نمایش اتصالات

┌──(ya3in㉿kali)-[~] └─$ nmcli connection show --active NAME UUID TYPE DEVICE eth0 1ea6bded-eb13-4e48-af4e-47a72e9794e8 ethernet eth0 MyNetwork 2fb7c4a2-8e1b-4f3d-9c2a-5d8e7f9a3b1c wifi wlan0

توضیح: نمایش اتصالات فعال.

┌──(ya3in㉿kali)-[~] └─$ nmcli connection show

توضیح: نمایش همه اتصالات ذخیره‌شده (فعال و غیرفعال).

• ایجاد اتصال جدید

┌──(ya3in㉿kali)-[~] └─$ sudo nmcli con add type ethernet con-name eth1 ifname enp0s3 ip4 10.0.2.10/24 gw4 192.168.1.254

توضیح: ایجاد یک اتصال جدید با نام eth1 روی دستگاه enp0s3 با IP 10.0.2.10 و Gateway 192.168.1.254.

• اتصال به وای‌فای

┌──(ya3in㉿kali)-[~] └─$ nmcli device wifi list SSID MODE CHAN RATE SIGNAL BARS MyNetwork Infra 6 130 Mbit 80 ▂▄▆█ GuestNetwork Infra 1 54 Mbit 45 ▂▄__

توضیح: نمایش شبکه‌های وای‌فای موجود.

┌──(ya3in㉿kali)-[~] └─$ nmcli device wifi connect MySSID password mypassword

توضیح: اتصال به شبکه وای‌فای با SSID مشخص و رمز عبور.

دستورات مهم nmcli: nmcli general status (وضعیت کلی)، nmcli device status (وضعیت دستگاه‌ها)، nmcli connection show (نمایش اتصالات)، nmcli device wifi connect (اتصال به وای‌فای).

▍ ابزارهای قدیمی (ifconfig, iwconfig, route)

این ابزارها قدیمی هستند و در سیستم‌های جدید با ip، iw و nmcli جایگزین شده‌اند، اما همچنان در برخی توزیع‌ها موجود هستند.

┌──(ya3in㉿kali)-[~] └─$ sudo ifconfig enp0s3 down └─$ sudo ifconfig enp0s3 10.0.2.10 netmask 255.255.255.0 └─$ sudo ifconfig enp0s3 up

توضیح: تنظیم IP با ifconfig (قدیمی).

┌──(ya3in㉿kali)-[~] └─$ sudo iwconfig wlan0 essid "MyNetwork" key s:mypassword

توضیح: اتصال به وای‌فای با iwconfig (قدیمی).

┌──(ya3in㉿kali)-[~] └─$ sudo route add default gw 192.168.1.1

توضیح: افزودن Gateway پیش‌فرض با route (قدیمی).

ابزارهای ifconfig، iwconfig و route قدیمی هستند و به‌جای آنها از ip و nmcli استفاده کنید.

▍ خلاصه دستورات nmcli

دستور کاربرد
nmcli general status وضعیت کلی NetworkManager
nmcli device status وضعیت دستگاه‌های شبکه
nmcli connection show --active اتصالات فعال
nmcli connection show همه اتصالات ذخیره‌شده
sudo nmcli con add type ethernet con-name NAME ifname DEVICE ip4 IP/GW ایجاد اتصال جدید
nmcli device wifi list لیست شبکه‌های وای‌فای
nmcli device wifi connect SSID password PASS اتصال به وای‌فای
sudo systemctl restart NetworkManager راه‌اندازی مجدد NetworkManager
✅ جمع‌بندی نهایی:
  • فایل‌های پیکربندی: دبیان: /etc/network/interfaces — رد هت: /etc/sysconfig/network-scripts/ifcfg-*
  • DNS: /etc/resolv.conf یا systemd-resolved
  • nmtui: ابزار گرافیکی مبتنی بر متن برای مدیریت شبکه
  • nmcli: ابزار خط فرمان قدرتمند NetworkManager
  • راه‌اندازی مجدد NetworkManager: sudo systemctl restart NetworkManager
  • ابزارهای قدیمی: ifconfig، iwconfig، route (منسوخ شده)